CXXFLAGS =	-O2 -g -Wall -fmessage-length=0

UTIL_OBJS = src/RSA/RSAUtils.o src/encryption/EncryptionProperties.o util/List.o util/Node.o util/Utils.o util/NodoCandidato.o util/NodoEleccion.o util/NodoLista.o util/NodoVotante.o util/NodoCargo.o util/NodoDistrito.o util/NodoConteo.o

SRC_OBJS = src/Eleccion.o src/Distrito.o  src/Conteo.o src/loader/CsvLoader.o

CONTROL_OBJS = src/encryption/KasiskiAttack.o src/RSA/Wiener.o src/RSA/RSAEncryption.o src/encryption/VigenereEncryptor.o src/control/ElectionManager.o src/control/EleccionDao.o src/control/ListaDao.o src/control/DistritoDao.o src/control/ResultManager.o src/control/UserManager.o src/control/CandidatoDao.o src/control/CargoDao.o src/control/VotanteDao.o

AI_OBJS = src/AI/bot.o

COMMON_OBJS =	src/common/FileManager.o

GUI_OBJS = src/gui/GraphicUserInterface.o

TREE_OBJS =	src/tree/BPlusTree.o src/tree/Node.o src/tree/InternalNode.o src/tree/LeafNode.o src/tree/NodeFactory.o src/tree/Record.o  

BUSINES_OBJS = src/Candidato.o src/Cargo.o src/Lista.o src/Votante.o

OBJS =		main.o $(TREE_OBJS) $(COMMON_OBJS) $(BUSINES_OBJS) $(UTIL_OBJS) $(GUI_OBJS) $(SRC_OBJS) $(CONTROL_OBJS) $(AI_OBJS)

LIBS =

TARGET =	main

$(TARGET):	$(OBJS)
	$(CXX) -o $(TARGET) $(OBJS) $(LIBS)

all:	$(TARGET)

clean:
	rm -f $(OBJS) $(TARGET) 